from flask import Blueprint,json,request,jsonify,get_data
from db import db1
bp_course = Blueprint("course",__name__)
#接口
@bp_course.route('/couponM',methods = ['POST','GET','PUT','DELETE'])
def couponM():
    if request.method =="POST":
        # 获取用户输入
        data = request.data
        if data:  
            data = json.loads(data)
        
        else:
            data = request.form
        
        #构造sql语句
        sql = "insert into coupon values(0,'%s',%d,'%s','%s')"%(data['name'],int(data['total']),data['starttime'],data['endtime'])
        #pymysql
        db1.insert(sql)
        #返回结果
        return 'ok'
    elif request.method=='GET':
        id=request.args.get('id')
       
        if id:
            #构造sql语句
            sql="select * from coupon where id=%d"%(int(id))
            res = db1.find(sql)
            return jsonify({'code':200,'coupon':res})
    elif request.method == "PUT":
        data = request.data
        if data:
            data = json.loads(data)
        else:
            data = request.form

        sql="update coupon set name='%s',total=%d,starttime='%s',endtime='%s' where id=%d"%(data['name'],int(data['total']),data['starttime'],data['endtime'],int(data['id']))
        db1.insert(sql)
        return jsonify({"code":200})

    elif request.method == "DELETE":
        # 获取id
        id = request.args.get('id')
        if id:
            #构造sql语句
            sql="delete from coupon where id=%d"%(int(id))
            #调用数据库中insert方法
            db1.insert(sql)
            #返回
            return jsonify({'code':200})


#部门管理
@bp_course.route('/deptM',methods=['POST','GET'])
def deptM():
    if request.method == "POST":
        data = get_data()
        #判断名字是否已经存在
        sql = "select id from dept where name='%s'"%(data['name'])
        res = db1.find(sql)
        #存在直接返回
        if res:
            return jsonify({"code":10011,'mes':'已经存在'})
        #不存在添加
        else:
            sql = "insert into dept(name) values('%s')"%(data['name'])
            db1.insert(sql)
            return jsonify({"code":200})
    else:
        sql = "select * from dept"
        res = db1.findall(sql)
        return jsonify({"code":200,'list':res})

@bp_course.route('/empM',methods=['POST','GET'])
def empM():
    if request.method == "POST":
        data = get_data()
        #添加员工
        sql = "insert into emp values(0,'%s',%d,%.2f,%d)"%(data['name'],int(data['sex']),float(data['salery']),int(data['dept_id']))
        db1.insert(sql)
        #更新部门表员工总数
        sql1 = 'select total from dept where id=%d'%(int(data['dept_id']))
        res = db1.find(sql1)
        total = int(res['total'])+1
        sql2 = 'update dept set total=%d where id=%d'%(total,int(data['dept_id']))
        db1.insert(sql2)
        return jsonify({"code":200})